<?php

class AvatarAction {

    public function shearphoto() {
        require '../Include/App/Group/Api/Lib/shearphoto/shearphoto.php';
        if (isset($_POST["JSdate"])) {//普通截取时 
            $ShearPhoto["JSdate"] = json_decode(trim(stripslashes($_POST["JSdate"])), true);
            $Shear = new ShearPhoto; //类实例开始
            $result = $Shear->run($ShearPhoto["JSdate"], $ShearPhoto["config"]); //传入参数运行
            if ($result === false) { //切图失败时
                echo '{"erro":"' . $Shear->erro . '"}'; //把错误发给JS /请匆随意更改"erro"的编写方式，否则JS出错
                exit;
            } else {
                $dirname = pathinfo($ShearPhoto["JSdate"]["url"]);
                $ShearPhotodirname = $dirname["dirname"] . DIRECTORY_SEPARATOR . "shearphoto.lock"; //认证删除的密钥
                file_exists($ShearPhotodirname) && @unlink($ShearPhoto["JSdate"]["url"]); //密钥存在，当然就删掉原图
            }
        }
        /* ........................HTML5截取时.......................... */ 
        elseif (isset($_POST["ShearPhotoIW"]) &&
                isset($_POST["ShearPhotoIH"]) &&
                isset($_POST["ShearPhotoFW"]) &&
                isset($_POST["ShearPhotoFH"]) &&
                isset($_POST["ShearPhotoP"]) &&
                is_numeric($JSconfig["P"] = trim($_POST["ShearPhotoP"])) &&
                is_numeric($JSconfig["IW"] = trim($_POST["ShearPhotoIW"])) &&
                is_numeric($JSconfig["IH"] = trim($_POST["ShearPhotoIH"])) &&
                is_numeric($JSconfig["FW"] = trim($_POST["ShearPhotoFW"])) &&
                is_numeric($JSconfig["FH"] = trim($_POST["ShearPhotoFH"]))) {
            $Shear = new ShearPhoto; //类实例开始
            $result = $Shear->html5_run($ShearPhoto["config"], $JSconfig); //加载HTML5已切好的图片独有方法
            if ($result === false) { //切图失败时
                echo '{"erro":"' . $Shear->erro . '"}'; //把错误发给JS /请匆随意更改"erro"的编写方式，否则JS出错
                exit;
            }
        }
        else {
            die('{"erro":"错误的操作！或缺少参数或错误参数"}');
        }
        /* ..........................................................结果输出给JS.............................................................. */
        /*
          到此程序已运行完毕，并成功！你可以在这里愉快地写下你的逻辑代码
          $result[X]["ImgUrl"] //图片URL路径  X是数字
          $result[X]["ImgName"] //纯图片名字  X是数字
          $result[X]["ImgWidth"]//图片宽度    X是数字
          $result[X]["ImgHeight"] //图片高度    X是数字

          用var_dump($result)展开，你便一目了然！

          很多人问怎么把截好图片写到数据库， $result[X]["ImgUrl"]是完整的URL地址（包含文件名），不适宜写到数据库，因为图片路径一旦变动你会很麻烦
          一般写到数据库都是纯图片名字写进为好，那么正确的做法是把 $result[X]["ImgName"]  写进去数据库
         */
        //ShearPhoto 作者:明哥先生 QQ399195513
        $str_result = json_encode($result);
        echo str_replace("\/", "/", $str_result); //去掉无用的字符修正URL地址，再把数据传弟给JS
    }

    public function upload() {
        header('Content-type:text/html;charset=utf-8');
        error_reporting(E_ALL & ~E_NOTICE & ~E_WARNING); //关闭错误提示
        
        require("../Include/App/Group/Api/Lib/shearphoto/shearphoto.config.php");
        require(SHEAR_PHOTO_LIB."/shearphoto.up.php");
        
        if (!move_uploaded_file($_FILES['UpFile']['tmp_name'], $UpFile['file_url'])) {
            HandleError('后端获取不到文件写入权限。原因：move_uploaded_file()函数-无法写入文件');
        }
        $UpFile['file_url']=str_replace(array(ShearURL,"\\"),array("","/"),$UpFile['file_url']);
        /*
        来到这里时，已经代表上传成功，你可以在这里尽情写的你逻辑
        $UpFile['file_url']就是那张临时待截图片的路径！
        */
        echo('{"success":"'.$UpFile['file_url'].'"}');
    }

}
